#ifndef _BUOLA_GUI_COCOA_CCOCOAEXPOSEHELPER_H_
#define _BUOLA_GUI_COCOA_CCOCOAEXPOSEHELPER_H_

#include "auto.h"
#include <buola/gui/cexposehelper.h>
#include <buola/gl/copenglgc.h>

namespace buola { namespace gui { namespace cocoa {

class CCocoaWindow;
    
class CCocoaExposeHelper : public CExposeHelper
{
public:
    CCocoaExposeHelper(CCocoaWindow *pWindow);
    virtual ~CCocoaExposeHelper();

    virtual img::CGC *Prepare(CWindow &pWindow,const CRegion &pRegion,bool pClear);
    virtual void Commit(const CRegion &pRegion);

private:
    CCocoaWindow *mWindow;
    std::unique_ptr<gl::COpenGLGC> mGC;
};

/*namespace cocoa*/ } /*namespace gui*/ } /*namespace buola*/ }

#endif
